
#include <BParticle>
#include "member_BParticle.h"

using namespace BWE;

#define member					(*(member_BParticle*)_ptr)
#define member_allocate()		_ptr = new member_BParticle(this)
#define member_release()		delete (member_BParticle*)_ptr

BParticle::BParticle()
{
	member_allocate();
}
BParticle::BParticle(const BParticle& other)
{
	this->copy(other);
}
BParticle::~BParticle()
{
	member_release();
}

void BParticle::copy(const BShape& other)
{
	BShape::copy(other);
}
BShape* BParticle::clone() const
{
	return new BParticle(*this);
}

void BParticle::addImage(BImage* image)
{

}
void BParticle::removeImage(BImage* image)
{

}
void BParticle::clearImages()
{

}

void BParticle::setParticleDuration(int seconds)
{
	if (member.particleDuration != seconds)
	{
		member.particleDuration = seconds;
	}
}
int BParticle::particleDuration() const
{
	return member.particleDuration;
}

void BParticle::setEmitterDuration(int seconds)
{
	if (member.emitterDuration != seconds)
	{
		member.emitterDuration = seconds;
	}
}
int BParticle::emitterDuration() const
{
	return member.emitterDuration;
}

void BParticle::setSize(const BSizef& size)
{
	if (member.size != size)
	{
		member.size = size;
	}
}
const BSizef& BParticle::size() const
{
	return member.size;
}

void BParticle::setAngleLimit(const BVector& minAngle, const BVector& maxAngle)
{

}

void BParticle::clear()
{

}

void BParticle::refresh(BBox& box)
{
	box.reset(1, 1, 1);
}
void BParticle::render(BRender& render)
{

}
